Short-range wireless systems have a range of less than one hundred meters, but may connect to the Internet to provide communication over longer distances. Short-range wireless systems include, but are not limited to, a wireless personal area network (PAN) and a wireless local area network (LAN). A wireless PAN uses low-cost, low-power wireless devices that have a typical range of ten meters. An example of a wireless PAN technology is the Bluetooth Standard. The Bluetooth Standard operates in the 2.4 GHz Industrial, Scientific, and Medical (ISM) band and provides a peak air-link speed of one Mbps and a power consumption low enough for use in personal, portable electronics such as a personal digital assistance or mobile phone. A description of the Bluetooth communication protocol and device operation principles is in Bluetooth Special Interest Group, Specification of the Bluetooth System, version 1.1, volumes 1 and 2, Feb. 22, 2001. Another example of a wireless PAN technology is a standard for transmitting data via infrared light waves developed by the Infrared Data Association (IrDA), a group of device manufacturers. IrDA ports enable computers, such as a laptop, or devices, such as a printer, to transfer data from one device to another without any cables. IrDA ports support roughly the same transmission rates as traditional parallel ports and the only restriction on their use is that the two devices must be within a few feet of each other and have a clear line of sight. A wireless LAN is more costly than a wireless PAN, but has a longer range. An example of a wireless LAN technology is the IEEE 802.11 Wireless LAN Standard and the HIPERLAN Standard. The HIPERLAN Standard operates in the 5 GHz Unlicensed-National Information Infrastructure (U-NII) band and provides a peak air-link speed between ten and one hundred Mbps.
An ad-hoc network is a short-range wireless system comprising an arbitrary collection of wireless devices that are physically close enough to exchange information. An ad-hoc network is constructed quickly with wireless devices joining and leaving the network as they enter and leave the proximity of the remaining wireless devices. An ad-hoc network also may include one or more access points, that is, stationary wireless devices operating as a stand-alone server or as gateway connections to other networks.
In the future, the Bluetooth Standard will likely support the interconnection of multiple piconets to form a multi-hop ad-hoc network, or scatternet, In a scatternet, a connecting device forwards traffic between different piconets. The connecting device may serve as a master device in one piconet, but as a slave device or a master device in another piconet. Thus, the connecting devices join the piconets that comprise a scatternet by adapting the timing and hop sequence to the respective piconet and possibly changing the roles that they serve from a master device to a slave device.
A Bluetooth device includes, but is not limited to, a mobile telephone, personal or laptop computer, radio-frequency identification tag, and personal electronic device such as a personal digital assistant (PDA), pager, or portable-computing device. Each Bluetooth device includes application and operating system programs designed to find other Bluetooth devices as they enter and leave the communication range of the network. The requesting Bluetooth device in a client role and the responding Bluetooth device in a server role establish a proximity link between the two devices. The requesting and responding Bluetooth device use the proximity link and a service discovery protocol to discover the services offered by the other Bluetooth device and how to connect to those services.
In a traditional computing environment, an application program that is running in a computer is resident in the memory of the computer and is constrained by factors such as the memory size, processor speed, and resources. Typically, these factors do not impose limits on the application. The user controls the application (i.e., when an application is started, closed, and its relationship to other applications) using a shell program or a graphical desktop environment. The ability to auto-start or pre-configure the application exists, but only in the context of Plug-n-Play drivers and interfaces.
In a wireless computing environment, the computing environment necessitates strict application control in terminal devices. First, the number of bytes of memory that the user interface requires in a mobile device restricts the ability to run applications in parallel. Second, a user typically cannot control the establishment of a proximity connection between two peer devices. The user may know that there is a high probability of establishing the proximity connection, but cannot reliably predict the time or place of the establishment. Third, when multiple applications must be presented, the order that the applications will be presented to a user depends on factors such as the user's preferences and the configuration of the server. The server may combine several applications and run those applications in a certain order because the server's instructions indicate that the certain order will optimize the experience for the user. For example, a browsing application will run first to view a movie file, then a banking application will run to purchase a ticket, followed by a ticketing application to accept the purchased ticket, and finally, a convenience application will run to change the telephone ring to silent mode. Fourth, an application can be dynamically loaded and run on a terminal device (e.g., applets). In addition to security issues, this ability of the terminal device raises issues regarding the user's control of the terminal device.
Thus, there is a need for a system and method for controlling access to an application program in a wireless device connected to a spontaneous and instant (ad-hoc) communications network. The system and method will allow a user or service provider to create a rule set that describes the desired behavior of the application programs. The rule set will define the automatic launching of the application programs and the allowed behavior of the application programs following the establishment of a proximity connection. The present invention addresses this need.